/*
 * @Author: liujiachen liujiachen@neuedu.com
 * @Date: 2024-10-24 11:12:17
 * @LastEditors: liujiachen liujiachen@neuedu.com
 * @LastEditTime: 2024-11-14 17:25:31
 * @FilePath: \WWW\shop\vite.config.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

//引入路径模块
import path from 'path'
import Pages from 'vite-plugin-pages'

import Layouts from 'vite-plugin-vue-layouts'

import AutoImport from 'unplugin-auto-import/vite'

import Components from 'unplugin-vue-components/vite'


// https://vite.dev/config/
export default defineConfig({
  resolve: {
    alias: {
      "@": path.resolve(__dirname, "src"),
      'vue': 'vue/dist/vue.esm-bundler.js' // 定义vue的别名，如果使用其他的插件，可能会用到别名
    },
  },
  plugins: [ 
    vue(),
    AutoImport({
      imports: ['vue', 'vue-router','pinia'],//自动导入 在运行程序时自动全导入 所有全可以使用
      dts: 'src/auto-import.d.ts' //加载全局钩子的文件
    }),
    Pages({
      dirs: 'src/views',  // 需要生成路由的组件目录
      exclude: ['**/components/*.vue']  // 排除在外的目录，即所有 components 目录下的 .vue 文件都不会生成路由
    }),
    Components({
      // 指定组件位置，默认是src/components
      dirs: ['src/components'],
      // ui库解析器
      // resolvers: [ElementPlusResolver()],
      extensions: ['vue'],
      // 配置文件生成位置
      dts: 'src/components.d.ts'
    }),
    Layouts({
      layoutsDirs: 'src/layout',  // 布局模板文件存放目录
      defaultLayout: 'index'  // 默认布局，对应 src/layout/index.vue
    }),
  ],
  server:{
    //设置代理请求 当代理商识别你的请求如果前缀是 /proxy 就会自动转移 设置反向代理
    proxy: {
      '/shop':{
        //反向代理的头部
        target:'http://www.fast.com/shop',
        // target:'http://fast-liujc.sleep-888.com/shop',
        changeOrigin:true,//允许跨域
         //替换掉shop前缀 防止多个shop地址
        rewrite: (path) => path.replace(/^\/shop/, '')
      }
    }
  }
})
